import random
import time

print('---------------------------------')
print('|                               |')
print('|      花有重开,人无在少年          |')
print('|                               |')
print('|      欢迎来到,人生模拟器          |')
print('---------------------------------')
#初始属性
#颜值,体质,智力,家境,总和不能超过20,每一项在1-10

#使用循环,让玩家在输入错误的时候,可以重新输入
while True:
    print("请输入初始属性 (可用点20)")
    face = int(input('请输入颜值(1-10):'))
    strong = int(input('请输入体质(1-10):'))
    iq = int(input('请输入智力(1-10):'))
    home = int(input('请输入家境(1-10):'))
#使用 elif 也可以
    if face < 1 or face > 10:
        print("颜值设置有误")
        continue
    if strong < 1 or strong>10:
        print('体质设置有误')
        continue
    if iq < 1 or iq > 10:
        print('智力设置有误')
        continue
    if home < 1 or home > 10:
        print("家境设置有误!")
        continue
    if face + strong + iq + home >20:
        print('总属性超过20')
        continue
    #当上面的条件都没有被触发,则认为玩家输入的数据合法
    print('初始属性输入完毕')
    print(f"颜值{face},体质{strong},智力{iq},家境{home}")
    break
#生成角色的性别
#random.rangint(beg,end),就能生成[beg,end]的随机数

point = random.randint(1,6)
#print(f'point = {point}')
if point % 2 == 1:
    gender = 'boy'
    print('你是个男孩')
else:
    gender = 'girl'
    print('你是个女孩')
#设计角色出生点
point  = random.randint(1,3)
if home == 10:
    #第一档
    print('你的出生在帝都,你的父母是高官政要')
    home +=1
    iq+=1
    face+=1
elif 7<=home<=9:
    #第二档
    if point==1:
        print('你出生在大城市,父母是公务员')
        face+=2
    elif point==2:
        print('你出生在大城市,父母是企业高管')
    else:
        print('你出生在大城市,父母是大学教授')
        iq+=2
elif 4<=home<=6:
        #第三档
    if point ==1:
        print('你出生在三线城市,你的父母是医生')
        strong+=1
    elif point ==2:
        print('你出生在镇上,你的父母是老师')
        iq+=1
    else:
        print('你出生在镇上,你的父母是个体户')
        home+=1
else:
    #第四档
    if point ==1:
        print('你出生在农村,父母是个辛苦劳作的农民')
        strong+=1
        face-=2
    elif point==2:
        print('你出生在穷苦乡村,你的父母是无业游民')
        home-=1
    else:
        print('你出生在镇上,你和你的父母情感不知')
        strong-=1
print(f'颜值:{face},体质{strong},智力{iq},家境{home}')
#幼年阶段
for age in range(1,11):
    #把一整年的打印都整理到一个字符串中,在这一年的结尾统一打印
    info=f'你今年{age}岁,'
    #生成一个[1,3]的随机数
    point=random.randint(1,3)
    #接下来编写各种事件的代码
    #性别触发的事件
    if gender =='girl'and home <=3 and point ==1:
        print(info)
        print('游戏结束!')
        sys.exit(0)
    #体质触发的事件
    elif strong<6 and point<3:
        info+='你生了一场病'
        if home>=5:
            info+='在父母的悉心照顾下,你康复了'
            strong+=1
            home-=1
        else:
            info+=('你的父母没精力管你,你的身体状况更糟糕了')
            strong-=1
        #颜值触发的时间
    elif face<=4 and age>=7:
        info +='你长得太丑了,别的小朋友不喜欢你'
        if iq>5:
            info+='你决定用学习来填充自己'
            iq+=1
        else:
            if gender =='boy':
                info+='你和别的小朋友经常打架'
                strong+=1
                iq-=1
            else:
                info+='你经常受到别的小朋友欺负!'
                strong-=1
    #智商触发条件
    elif iq<5:
        info+='你看起来傻傻的.'
        if home>=7 and age >=6:
            info+='你的父母把你送到更好的学校学习'
            iq+=1
        elif 4<=home<=7:
            if gender =='boy':
                info+='你的父母鼓励你的多运动,争取成为运动员 '
                face+=1
        else:
            #家境<4
            info+='你的父母为此经常吵架'
            if point ==1:
                strong-=1
            elif point==2:
                iq-=1
            else:
                pass
    #健康成长事件
    else:
        info+='你健康成长,'
        if point==1:
            info+='你看起来更加结实了.'
            strong+=1
        elif point==2:
            info+='你看起来更加好看了.'
            face+=1
        else:
            #无事发生
            pass
    #打印这一年发生的事件
    print(info)
    print(f"颜值:{face},f体质:{strong},智力:{iq},家境:{home}")
    print('----------------------------------------------')
    time.sleep(1)
